Digital electronic circuitry is often integrated into a miniature electronic circuit, referred to as an integrated circuit or a “chip.” A chip generally has a number of input and output pins, which are respectively used to feed input signals into the chip and to access the corresponding output signals. A common input pin on a chip is a reset pin, which typically drives a system-wide reset signal for setting or resetting many or all of the flip flops and other circuit elements to an initial default state.
When a chip is first powered up, the flip flops are initially in an undetermined state. Therefore, the reset pin is typically asserted upon power up to set the flip flops to their initial designated state. Commonly, the reset is also used to set the minimum functionality or features of the chip. For example, a chip may include one or more features that are not intended to be available to the user. Therefore, the reset signal ensures such features are disabled by appropriately conditioning the associated circuitry.
Typically, the reset signal acts to initialize the availability of all features upon reset. Thereafter, only features meant to be accessed by a particular user can be enabled or “turned on” by the user by asserting signals on the input pins, or by other means. Therefore, if a user is not intended to have access to a particular feature, for example if the user did not purchase the particular feature, or if the feature is meant for testing only, the ability to enable that feature is disabled by the reset signal. In this way, a single circuit can be manufactured having a plurality of features, but only a subset of these features may be made available to and enabled by a particular user.
However, there exists attacks on a chip in which the reset signal is prevented from being asserted. For example, the attacker may try to lift the reset pin, overdrive the reset pin, or otherwise prevent the reset from occurring. Such an attack may be used to try and enable a feature that was not intended to be available to the user. As explained above, when a digital circuit is initially powered up, the flip flops are in an undetermined state. Such un-reset flip flops generally have a 50% chance of powering up in either the one or zero state, although the likelihood that a particular flip flop powers up in one particular state depends on factors such as the flip flop design, the parasitic capacitance, and the physical properties of the flip flop. Additionally, the speed at which the power-on voltage ramps up, as well as other physical attributes that may be controllable, can also affect the flip flop's power up state. Therefore, if the reset is not asserted, particular features may be enabled that are not intended to be available.